<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
        PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:p="http://primefaces.org/ui">
<ui:composition template="../templates/layout.xhtml">
<ui:define name="title">Tabla Agrupación Acreedor</ui:define>
<ui:define name="content">
    <p:spacer height="5px"/>
    <p:panel>
        <h:outputText value="Tabla Agrupación Acreedor" styleClass="text_header_page"/>
    </p:panel>
    <p:spacer height="5px"/>
    <h:form id="frmPrincipal">

        <!-- Panel de búsqueda-->
        <p:panel id="panelBusqueda" header="Búsqueda de Agrupación Acreedor" toggleable="true">
            <h:panelGrid id="gridBusqueda" columns="6">
                <p:spacer width="13px"/>
                <h:outputLabel for="cmbGrupoEmpresarial" value="Grupo Empresarial"/>
                <p:selectOneMenu id="cmbGrupoEmpresarial" converter="#{managerGrupoDTOConverter}"
                                 value="#{maestroAgrupacionAcreedorJsfBean.filtroBusqueda.grupoEmpresarial}"
                                 style="width:180px;">
                    <f:selectItem itemLabel="Seleccione" itemValue="" noSelectionOption="true"/>
                    <f:selectItems value="#{maestroAgrupacionAcreedorJsfBean.cmbGrupoEmpresarial}"
                                   var="grupoSelect"
                                   itemLabel="#{grupoSelect.nombre}"
                                   itemValue="#{grupoSelect}"/>
                </p:selectOneMenu>

                <p:spacer width="13px"/>
                <p:outputLabel value="Nombre Agrupación"/>
                <p:inputText value="#{maestroAgrupacionAcreedorJsfBean.filtroBusqueda.nombre}"/>

            </h:panelGrid>
            <p:spacer height="3px"/>

            <p:spacer height="3px"/>
            <h:panelGrid id="gridBusqueda3" columns="3">
                <p:commandButton ajax="true" value="Buscar" id="btnBuscar" icon="ui-icon-search"
                                 actionListener="#{maestroAgrupacionAcreedorJsfBean.findAction}"
                                 update=":frmPrincipal:panelResultados :frmPrincipal:panelDetalle :messages"/>
                <p:commandButton ajax="true" value="Limpiar" id="btnLimpiar" icon="ui-icon-refresh"
                                 actionListener="#{maestroAgrupacionAcreedorJsfBean.cleanAction}"
                                 update=":frmPrincipal:panelResultados :frmPrincipal:panelDetalle :frmPrincipal:panelBusqueda :messages"/>
            </h:panelGrid>
        </p:panel>

        <p:spacer height="10px"/>

        <!-- Panel de resultados (donde está la tabla)  -->
        <p:panel id="panelResultados" header="Resultados">
            <p:toolbar>

                <p:toolbarGroup align="left">
                    <p:commandButton id="linkNuevo" value="Nuevo" ajax="true"
                                     actionListener="#{maestroAgrupacionAcreedorJsfBean.showNewDialog}"
                                     oncomplete="wvCreateDialog.show()" update=":createDialog"/>
                    <p:commandButton id="editButton" value="Editar"
                                     actionListener="#{maestroAgrupacionAcreedorJsfBean.showEditDialog}"
                                     update=":createDialog :messages">
                        <f:attribute name="tableName" value="tablaRegistros"/>
                        <f:attribute name="dialogName" value="wvCreateDialog"/>
                    </p:commandButton>
                    <p:commandButton id="deleteButton" value="Eliminar"
                                     actionListener="#{maestroAgrupacionAcreedorJsfBean.showDeleteSelectDialog}"
                                     update=":createDialog :messages">
                        <f:attribute name="tableName" value="tablaRegistros"/>
                        <f:attribute name="dialogName" value="wvDeleteSelectDialog"/>
                    </p:commandButton>
                </p:toolbarGroup>

                <p:toolbarGroup align="right">
                    <p:commandButton id="cmdSelectCuenta" value="Seleccionar Todo" ajax="true"
                                     actionListener="#{maestroAgrupacionAcreedorJsfBean.selectAll}"
                                     update=":nuevoRegistroForm:panelCrearDetalle :messages"/>
                    <p:commandButton id="cmdUnSelectCuenta" value="Quitar Selección" ajax="true"
                                     actionListener="#{maestroAgrupacionAcreedorJsfBean.unSelectAll}"
                                     update=":nuevoRegistroForm:panelCrearDetalle :messages">
                    </p:commandButton>
                </p:toolbarGroup>
            </p:toolbar>
            <p:dataTable id="tablaRegistros"  value="#{maestroAgrupacionAcreedorJsfBean.registros}"
                         var="registro" rowKey="#{registro.agrupacionAcreedorId}" paginator="true" rows="25"
                         paginatorPosition="bottom" emptyMessage="No existen registros"
                         selection="#{maestroAgrupacionAcreedorJsfBean.nuevoRegistro}"
                         selectionMode="single"
                         paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
                         rowsPerPageTemplate="5,10,25,50">
                <p:ajax event="rowSelect"         listener="#{maestroAgrupacionAcreedorJsfBean.onSelectDetail}"
                        update=":frmPrincipal:panelDetalle"/>
                <p:columnGroup type="header">
                    <p:row>
                        <p:column headerText="Grupo Empresarial"/>
                        <p:column headerText="Nombre Agrupación"/>
                        <p:column>
                        </p:column>
                    </p:row>
                </p:columnGroup>

                <p:column style="text-align: left">
                    <h:outputText value="#{registro.grupoEmpresarial.nombre}"/>
                </p:column>
                <p:column style="text-align: left">
                    <h:outputText value="#{registro.nombre}"/>
                </p:column>
                <p:column headerText="" style="text-align: center;width: 20px">
                    <p:selectBooleanCheckbox value="#{registro.seleccionado}">
                    </p:selectBooleanCheckbox>
                </p:column>
            </p:dataTable>
        </p:panel>

        <br/>

        <p:panel id="panelDetalle" header="Acreedores Asignados" toggleable="true">
            <!--
            <p:toolbar>
                <p:toolbarGroup align="right">
                    <p:commandButton id="cmdSelectAgrupacion" value="Seleccionar Todos" ajax="true"
                                     update=":frmPrincipal:panelDetalle"/>
                    <p:commandButton id="cmdUnSelectAgrupacion" value="Quitar Selección" ajax="true"
                                     update=":frmPrincipal:panelDetalle :messages">
                    </p:commandButton>
                    <p:commandButton id="cmdRemoverProveedor" value="Remover Proveedor" ajax="true"
                                     update=":frmPrincipal:panelDetalle"/>
                </p:toolbarGroup>
            </p:toolbar>
            -->
            <p:dataTable id="tablaDetalle"         value="#{maestroAgrupacionAcreedorJsfBean.detalle}"
                         var="registroDetalle" paginator="true" rowKey="#{registroDetalle.acreedorId}" rows="25"
                         paginatorPosition="bottom" emptyMessage="No existen registros"
                         paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
                         rowsPerPageTemplate="5,10,25,50">

                <p:column style="text-align: left">
                    <f:facet name="header">
                        <h:outputText value="Nombre Agrupación"/>
                    </f:facet>
                    <h:outputText value=""/>
                </p:column>
                <p:column style="text-align: left">
                    <f:facet name="header">
                        <h:outputText value="Código Acreedor"/>
                    </f:facet>
                    <h:outputText value="#{registroDetalle.acreedorId}"/>
                </p:column>
                <p:column style="text-align: left">
                    <f:facet name="header">
                        <h:outputText value="Razón Social"/>
                    </f:facet>
                    <h:outputText value="#{registroDetalle.razonSocial}"/>
                </p:column>
                <!--
                <p:column style="text-align: left;width: 80px">
                    <f:facet name="header">
                    </f:facet>
                    <p:selectBooleanCheckbox value="">
                    </p:selectBooleanCheckbox>
                </p:column>
                -->
            </p:dataTable>
        </p:panel>

        <br/>

        <p:panel id="panelDetalleSociedades" header="Sociedades Asignadas" toggleable="true">
            <p:dataTable id="tablaDetalleSociedades"
                         var="registroDetalle" paginator="true" rows="25"
                         paginatorPosition="bottom" emptyMessage="No existen registros"
                         paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
                         rowsPerPageTemplate="5,10,25,50">

                <p:column style="text-align: left">
                    <f:facet name="header">
                        <h:outputText value="Grupo Empresarial"/>
                    </f:facet>
                    <h:outputText value=""/>
                </p:column>
                <p:column style="text-align: left">
                    <f:facet name="header">
                        <h:outputText value="Código Sociedad"/>
                    </f:facet>
                    <h:outputText value=""/>
                </p:column>
                <p:column style="text-align: left">
                    <f:facet name="header">
                        <h:outputText value="Sociedad"/>
                    </f:facet>
                    <h:outputText value=""/>
                </p:column>
            </p:dataTable>
        </p:panel>
    </h:form>
</ui:define>


<!-- Modals -->
<ui:define name="modal">
    <ui:decorate template="/pages/ui/uiDelete.xhtml">
        <ui:param name="jsfBean" value=""/>
        <ui:param name="updateExtra" value=":frmPrincipal:panelDetalle"/>
    </ui:decorate>
    <p:dialog closeOnEscape="true" id="createDialog" header="Nueva Agrupación" modal="true" onShow="upperInput();"
              widgetVar="wvCreateDialog" resizable="false" showEffect="fade" hideEffect="fade">

        <p:ajax event="close" update=":frmPrincipal:panelResultados :createDialog"/>

        <p:panel id="NuevoRegistro">
            <h:form id="nuevoRegistroForm">
                <h:panelGrid id="gridBusquedaDialog" columns="3">
                    <h:outputLabel for="inputNombreAgrupacion" value="Nombre Agrupación"/>
                    <p:inputText id="inputNombreAgrupacion" value=""
                                 size="50" maxlength="50" required="true" requiredMessage="*"/>
                    <p:message for="inputNombreAgrupacion" display="text"/>

                    <h:outputLabel for="cmbGrupoEmpresarial" value="Grupo Empresarial"/>
                    <p:selectOneMenu id="cmbGrupoEmpresarial" value=""
                                     effect="fade"
                                     required="true" requiredMessage="*" style="width: 150px"
                            >
                        <f:selectItem itemValue="" itemLabel="Seleccione"/>
                    </p:selectOneMenu>
                    <p:message for="cmbGrupoEmpresarial" display="text"/>

                </h:panelGrid>
                <br/>
                <p:panel id="panelCrearDetalle" header="Acreedor">
                    <p:toolbar>
                        <p:toolbarGroup align="left">
                            <p:commandButton id="linkNuevo" value="Agregar" ajax="true"
                                             oncomplete="wvSeleccionDialog.show()" update=":seleccionDialog"/>
                            <p:commandButton id="cmdEliminarCuenta" value="Eliminar" ajax="true"/>
                        </p:toolbarGroup>
                        <p:toolbarGroup align="right">
                            <p:commandButton id="cmdSelectCuenta" value="Seleccionar Todo" ajax="true"
                                             update=":nuevoRegistroForm:panelCrearDetalle :messages"/>
                            <p:commandButton id="cmdUnSelectCuenta" value="Quitar Selección" ajax="true"
                                             update=":nuevoRegistroForm:panelCrearDetalle :messages">
                            </p:commandButton>
                        </p:toolbarGroup>
                    </p:toolbar>
                    <p:dataTable id="tablaCuentaDetalle"
                                 var="cuenta" paginator="true" rows="10"
                                 selectionMode="single"
                                 paginatorPosition="bottom" emptyMessage="No existen registros"
                                 paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
                                 rowsPerPageTemplate="5,10,25,50">
                        <p:column style="text-align: left">
                            <f:facet name="header">
                                <h:outputText value="Código Acreedor"/>
                            </f:facet>
                            <h:outputText value=""/>
                        </p:column>
                        <p:column style="text-align: left">
                            <f:facet name="header">
                                <h:outputText value="Razón Social"/>
                            </f:facet>
                            <h:outputText value=""/>
                        </p:column>
                        <p:column headerText="" style="text-align: center;width: 20px">
                            <p:selectBooleanCheckbox value="">
                            </p:selectBooleanCheckbox>
                        </p:column>
                    </p:dataTable>
                </p:panel>
            </h:form>
        </p:panel>
    </p:dialog>


    <p:dialog closeOnEscape="true" id="seleccionDialog" header="Buscar Acreedores" modal="true" onShow="upperInput();"
              widgetVar="wvSeleccionDialog" resizable="false" showEffect="fade" hideEffect="fade">
        <p:panel id="Seleccionar">
            <h:form id="frmSeleccionarAcreedor">
                <!-- Panel de búsqueda-->
                <p:panel id="seleccionarPanelBusqueda" header="Búsqueda de Acreedores">
                    <h:panelGrid id="gridBusqueda" columns="6">
                        <p:spacer width="13px"/>
                        <h:outputLabel for="cmbGrupoEmpresarial" value="Grupo Empresarial"/>
                        <p:selectOneMenu id="cmbGrupoEmpresarial"
                                         style="width:180px;">
                            <f:selectItem itemLabel="Seleccione" itemValue="" noSelectionOption="true"/>
                        </p:selectOneMenu>

                        <p:spacer width="13px"/>
                        <h:outputLabel for="cmbSociedad" value="Sociedad"/>
                        <p:selectOneMenu id="cmbSociedad"
                                         style="width:180px;">
                            <f:selectItem itemLabel="Seleccione" itemValue="" noSelectionOption="true"/>
                        </p:selectOneMenu>

                        <p:spacer width="13px"/>
                        <h:outputLabel value="Código Acreedor"/>
                        <p:inputText
                                size="15" maxlength="15"/>
                        <p:spacer width="13px"/>
                        <h:outputLabel value="Razón Social"/>
                        <p:inputText
                                size="15" maxlength="15"/>

                        <p:spacer width="13px"/>
                        <h:outputLabel value="Agrupación Acreedor"/>
                        <p:selectOneMenu effect="fade">
                            <f:selectItem itemLabel="Seleccione" itemValue="" noSelectionOption="true"/>
                        </p:selectOneMenu>
                        <p:spacer width="13px"/>
                        <p:commandButton ajax="true" value="Buscar" id="btnBuscar" icon="ui-icon-search"
                                         update=":frmSeleccionarAcreedor:panelResultadosSeleccionar :messages"/>
                        <p:commandButton ajax="true" value="Limpiar" id="btnLimpiar" icon="ui-icon-refresh"
                                         update=":frmSeleccionarAcreedor:panelResultadosSeleccionar :messages"/>
                    </h:panelGrid>
                </p:panel>

                <p:spacer height="10px"/>

                <!-- Panel de resultados (donde está la tabla)  -->
                <p:panel id="panelResultadosSeleccionar" header="Resultado">
                    <p:toolbar>

                        <p:toolbarGroup align="left">
                            <p:commandButton value="Asignar" ajax="true"
                                             update=":NuevoRegistro">
                                <f:attribute name="dialogName" value="wvSeleccionDialog"/>
                            </p:commandButton>
                            <p:commandButton id="cmdSelectCliente" value="Seleccionar Todo" ajax="true"/>
                            <p:commandButton id="cmdUnSelectCliente" value="Quitar Selección" ajax="true"/>
                        </p:toolbarGroup>
                    </p:toolbar>

                    <p:dataTable id="tablaRegistrosSeleccionar" paginator="true" rows="10"
                                 paginatorPosition="bottom" emptyMessage="No existen registros"
                                 paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
                                 rowsPerPageTemplate="5,10,25,50">
                        <p:column style="text-align: left">
                            <f:facet name="header">
                                <h:outputText value="Código Acreedor"/>
                            </f:facet>
                            <h:outputText value=""/>
                        </p:column>
                        <p:column style="text-align: left">
                            <f:facet name="header">
                                <h:outputText value="Razón Social"/>
                            </f:facet>
                            <h:outputText value=""/>
                        </p:column>
                        <p:column headerText="" style="text-align: center">
                            <p:selectBooleanCheckbox value="">
                            </p:selectBooleanCheckbox>
                        </p:column>
                    </p:dataTable>
                </p:panel>
            </h:form>
        </p:panel>
    </p:dialog>
</ui:define>
</ui:composition>
</html>